package actions.server;

import java.io.BufferedReader;
import java.io.PrintWriter;
import java.util.Map;

import server.ColaCircular;
import server.Usuario;
import actions.Action;
import actions.Commands;

public class RegisterAction extends Action {


	private ColaCircular colaMensajes;

	public RegisterAction(String[] _arguments, BufferedReader _in,
			PrintWriter _out, Map<String, Usuario> _usuarios, ColaCircular _colaMensajes) {
		super(_arguments, _in, _out, _usuarios, _colaMensajes);
		setUsuarios(_usuarios);
		colaMensajes=_colaMensajes;
	}

	@Override
	public String parseArguments() {
		if ( getArguments().length==1 && 
			!getArguments()[0].isEmpty() )
		{
			return Commands.OK;				
		}
		else
		{
			return "Escriba un usuario luego del comando.";
		}
		
	}

	@Override
	public void doAction() {
		String username = getArguments()[0];
		getUsuarios().put(username, new Usuario(username));
		colaMensajes.addMsj("ENTRO "+username);
		getOut().println("Ultimo mensaje recibido: "+colaMensajes.getAcumMsjNumber());

	}

}
